home *** CD-ROM | disk | FTP | other *** search
- package javax.swing;
-
- import java.awt.event.ActionEvent;
- import java.beans.PropertyChangeListener;
- import java.io.Serializable;
- import javax.swing.event.SwingPropertyChangeSupport;
-
- public abstract class AbstractAction implements Action, Cloneable, Serializable {
- protected boolean enabled;
- private ArrayTable arrayTable;
- protected SwingPropertyChangeSupport changeSupport;
-
- public AbstractAction() {
- this.enabled = true;
- this.arrayTable = new ArrayTable(this);
- }
-
- public AbstractAction(String var1) {
- this.enabled = true;
- this.arrayTable = new ArrayTable(this);
- this.putValue("Name", var1);
- }
-
- public AbstractAction(String var1, Icon var2) {
- this(var1);
- this.putValue("SmallIcon", var2);
- }
-
- public abstract void actionPerformed(ActionEvent var1);
-
- public synchronized void addPropertyChangeListener(PropertyChangeListener var1) {
- if (this.changeSupport == null) {
- this.changeSupport = new SwingPropertyChangeSupport(this);
- }
-
- this.changeSupport.addPropertyChangeListener(var1);
- }
-
- protected Object clone() throws CloneNotSupportedException {
- AbstractAction var1 = (AbstractAction)super.clone();
- var1.arrayTable = (ArrayTable)this.arrayTable.clone();
- return var1;
- }
-
- protected void firePropertyChange(String var1, Object var2, Object var3) {
- if (this.changeSupport != null) {
- this.changeSupport.firePropertyChange(var1, var2, var3);
- }
- }
-
- public Object getValue(String var1) {
- return this.arrayTable.get(var1);
- }
-
- public boolean isEnabled() {
- return this.enabled;
- }
-
- public synchronized void putValue(String var1, Object var2) {
- Object var3 = null;
- if (this.arrayTable.containsKey(var1)) {
- var3 = this.arrayTable.get(var1);
- }
-
- if (var2 == null) {
- this.arrayTable.remove(var1);
- } else {
- this.arrayTable.put(var1, var2);
- }
-
- this.firePropertyChange(var1, var3, var2);
- }
-
- public synchronized void removePropertyChangeListener(PropertyChangeListener var1) {
- if (this.changeSupport != null) {
- this.changeSupport.removePropertyChangeListener(var1);
- }
- }
-
- public synchronized void setEnabled(boolean var1) {
- boolean var2 = this.enabled;
- this.enabled = var1;
- this.firePropertyChange("enabled", new Boolean(var2), new Boolean(var1));
- }
- }
-